package Controlador;

import java.util.*;

import Modelo.*;
import Persistencia.*;
import Vista.VistaTarjeta;

public class Sistema {
	
	private static Sistema sharedInstance;
	private Vector<Cliente> clientes;
	
	public Sistema (){
		this.clientes = new Vector<Cliente>();
	}
	
	//Singleton
		public static Sistema getSharedInstance()
		{
			if (sharedInstance == null)
			{
				sharedInstance = new Sistema();
			}
			
			return sharedInstance;
		}
	
	
	public void crearClte (String dni, String nombre){
		
		Cliente c = buscarClte(dni);
		
		if (c == null){
			c= new Cliente(dni, nombre);
			clientes.add(c);
		}
		
	}
	
	private Cliente buscarClte (String dni){
		
		for (int i = 0; i < clientes.size(); i++){
			if (clientes.elementAt(i).perteneceCliente(dni)){
				return clientes.elementAt(i);
			}
		}
		Cliente c = AdministradorPersistenciaCliente.getInstancia().buscarCliente(dni);
		if (c != null){
			clientes.add(c);
			return c;
		}
		
		return null;
		
	}
	
	public void crearTarjeta (String dni, int numero, int limite){
		Cliente c = buscarClte(dni);
		
		if (c!= null){
			c.crarTarj(numero, limite);
		}
		
	}
	
	public VistaTarjeta consultarCliente (String dni){
		Cliente c = buscarClte(dni);
		
		if (c != null){
			return c.consultarClienteTarjeta();
		}
		return null;
	}

}
